<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
*/

/**
 * Description of Captcha
 * Uses phpcaptcha.org script
 *
 * @author chaporgin_a
 */
class VA_Form_ViewHelper_XHTML_Captcha extends VA_Form_ViewHelper {
  /**
   * Вот тут используется "магия", потому что в init.validate.js есть код, который привязан к этим классам
   * @return <type>
   */
  public function wrap() {
    $captcha = '<div class="captchaImageWrapper"><img src="%s" class="captchaImage" htmlSrc="%s" alt="%s" /></div>';
    $desc = 'введите символы с картинки';
    $whatFor = '. <a class="ajaxLink whatFor" tabindex="201" href="#">зачем?</a>';
    $whatFor .= <<<QUERY
<span class="whatFor">
  Это вынужденная проверка, чтобы защититься от роботов, которые не умеют читать искаженный текст в отличие от Вас
</span>
QUERY;

    $showAnother = sprintf('<a tabindex="200" href="" class="showAnother ajaxLink">%s</a>'
            , 'показать другую'
            );
    $captcha = sprintf($captcha
            , $this->getElement()->getCaptchaPath().'?'.rand(10,99)
            , $this->getElement()->getCaptchaPath()
            , $desc
            );
    $this->getElement()->setHTMLTagAttribute('type', 'text', TRUE);
    $this->getElement()->setHTMLTagAttribute('size', '6', TRUE);
    $input = sprintf('<input %s />'
            , $this->getElement()->getAllAttributesAsHTML()
            );
    return $captcha . $input . $desc . $whatFor . '<br />' . $showAnother;
  }
}

